import matplotlib.pyplot as plt
import pandas as pd
from cycler import cycler
import numpy as np
######################################################5-4
# df = pd.read_excel('学生各学期成绩表.xlsx')
# plt.figure(figsize=(10,8))
# x = df['学期']
# y = df['语文']
# plt.rcParams['font.sans-serif']= 'SimHei'
# plt.title('学生各学期成绩分析')
# plt.xlabel('学期')
# plt.ylabel('语文')
# for a, b in zip(df['学期'], df['语文']):
#     plt.text(a, b, '%.1f' % b, ha='center')
# plt.grid(axis='y')
# plt.xticks(range(11), df['学期'], rotation=15)
# plt.plot(x, y)
# plt.legend(('语文',))
# plt.show()
####################################################################5-5
# df = pd.read_excel('学生各学期成绩表.xlsx')
# plt.rcParams['figure.figsize']=(20,12)
# plt.rcParams['font.sans-serif']='SimHei'
# plt.rcParams['xtick.direction']='in'
# plt.rcParams['ytick.direction']='in'
# plt.title('学生各学期成绩')
# plt.xlabel('学期')
# plt.ylabel('成绩')
# plt.xticks(rotation=15)
# plt.grid()
# x = df['学期']
# plt.plot(x, df['语文'], '--^')
# plt.plot(x, df['数学'], '-.o')
# plt.plot(x, df['数学'], 'r:d')
# plt.legend(['语文','数学','英语'])
# plt.show()
#########################################################################
# df =pd.read_excel('城镇单位就业人员年平均工资.xlsx', sheet_name='按行业', index_col=0)
# df.drop('城镇单位',inplace=True)
# df.drop(columns=['2001年', '2002年'], inplace=True)
# df.sort_index(axis=1, inplace=True)
# plt.rcParams['figure.figsize']=(12, 8)
# plt.rcParams['font.sans-serif']='SimHei'
# colors = []
# for i in range(len(df)):
#     r = np.random.rand()
#     g = np.random.rand()
#     b = np.random.rand()
#     colors.append((r, g ,b))
# plt.rcParams['axes.prop_cycle'] = cycler(color=colors)
# plt.title('2003——2020按年行业分城镇单位就业人员年平均工资折线图')
# plt.xlabel('年份')
# plt.ylabel('平均年工资/元')
# x = df.columns
# for index in df.index:
#     plt.plot(x, df.loc[index])
# plt.legend(df.index)
# plt.show()
#######################################################################################5-7
# df = pd.read_excel('餐饮综合数据.xlsx', sheet_name='订单详情表', index_col=0)
# plt.rcParams['font.sans-serif']='SimHei'
# x =df['价格']
# plt.xlabel('菜品价格/元')
# plt.ylabel('菜品数量')
# plt.title('不同价格区间菜品数量分布直方图')
# plt.hist(x, bins=12, color=(0.8, 0, 0.4), edgecolor='k')
# plt.show()
########################################################################################5-8
# df = pd.read_excel('产品销售表.xlsx', sheet_name=['第1分店','第2分店','第3分店'])
# df_list= []
# df_list.append(df['第1分店'])
# df_list.append(df['第2分店'])
# df_list.append(df['第3分店'])
# width = 0.3
# for i in range(len(df_list)):
#     df_temp = df_list[i]
#     df_temp.dropna(axis=0, subset=['数量'], inplace=True)
#     df_temp = df_temp.groupby('季度').agg('sum')
#     x = df_temp.index
#     height = df_temp['销售额（万元）']
#     plt.bar(x+width*i,height,width)
# plt.rcParams['font.sans-serif'] = 'SimHei'
# plt.ylabel('销售额/万元')
# plt.legend(['第1分店','第2分店','第3分店'])
# plt.xticks([1,2,3,4], ['第1季度', '第2季度', '第3季度', '第4季度'])
# plt.title('每个季度不同分店销售额柱状图')
# plt.show()
############################################################################
# data = {
#     '学科': ['语文', '数学', '英语', '物理', '化学'],
#     '成绩': [92, 88, 95, 78, 85]
# }
# df = pd.DataFrame(data)
# plt.rcParams['font.sans-serif']='SimHei'
# plt.figure(figsize=(8, 5))
# plt.bar(
#     x=df['学科'],
#     height=df['成绩'],
#     color='skyblue',
#     edgecolor='black'
# )
# plt.xlabel('科目', fontsize=12)
# plt.ylabel('分数', fontsize=12)
# plt.title('柱状图', fontsize=14 ,pad=15)
# plt.grid(axis='y', alpha=0.3, linestyle='--')
# plt.show()
#########################################################################
# import matplotlib.pyplot as plt
# import pandas as pd
#
# # 1. 准备数据（可以从Excel读取，这里先用简单数据演示）
# # 数据：学科及其对应的成绩
# data = {
#     '学科': ['语文', '数学', '英语', '物理', '化学'],
#     '成绩': [92, 88, 95, 78, 85]
# }
# df = pd.DataFrame(data)  # 转换为DataFrame，方便处理
#
#
# # 2. 设置中文显示（避免乱码）
# plt.rcParams['font.sans-serif'] = 'SimHei'  # 使用黑体显示中文
# # 3. 绘制柱状图
# plt.figure(figsize=(8, 5))  # 设置画布大小（宽8英寸，高5英寸）
#
#
#
# # 核心绘图：x轴为学科，y轴为成绩，设置柱子颜色和边缘
# plt.bar(
#     x=df['学科'],  # x轴数据（学科名称）
#     height=df['成绩'],  # y轴数据（成绩）
#     color='skyblue',  # 柱子颜色（天蓝色）
#     edgecolor='black'  # 柱子边缘颜色（黑色，便于区分）
# )
#
#
# # 4. 添加图表细节
# plt.xlabel('学科', fontsize=12)  # x轴标签
# plt.ylabel('成绩（分）', fontsize=12)  # y轴标签
# plt.title('学生各学科成绩对比', fontsize=14, pad=15)  # 标题（pad设置与图表的间距）
# plt.grid(axis='y', alpha=0.3, linestyle='--')  # 添加y轴网格线（辅助看数值）
#
#
# # 5. 显示图表
# plt.show()